OpenGL - La vue

La vue & les axes

Parlons maintenant de la vue. Par défaut la "caméra" est située en (0,0,0), il faut donc créer le carré devant cette caméra. Pour modifier sa position, et sa direction il faut utiliser une fonction opengl très puissante: gluLookAt(0,0,-10,0,0,0,0,1,0);
Les trois premiers paramètres sont les coordonnées de sa position, les trois suivants sont les coordonnées d'un point que la caméra regarde, et les trois derniers arguments sont les coordonnées d'un autre point dans l'espace qui permet à opengl de définir un sens de vision (pour ne pas regarder votre scène à l'envers.)
Depuis le debut de ce chapitre nous avons vus qu'opengl est un langage qui se base sur le principe de primitives. Il existe donc trois axes definissants les trois dimensions de l'espace.

axes

gluLookAt(0,0,-10,0,0,0,0,1,0); effectue certaines operations sur la matrice active, il faut donc l'activer avec glMatrixMode(GL_MODELVIEW);

Pour plus d'informations sur l'initialisation de la fenêtre opengl voir structure d'un programme openGL

Les transformations

OpenGL dispose des trois transformations de bases, qui permettent de donner n'importe quel mouvement à un objet:

transformations Descriptions schémas
glScalef(.5f,.5f,.5f); Homotéthie, les arguments correspondent aux axes. homotethie
glTranslatef(5,1,2); Translate la matrice (donc tout les objets contenuent dedans) de 5 en X, de 1 en Y et de 2 en Z. translation
glRotatef(45,1,0,0); Fait tourner la matrice de 90 degrés autour de l'axe X. rotation

Les transformations suivent une règles relativement simple à la base. Une transformation modifie la matrice active. Cela signifie que tous les objets, ainsi que toutes les matrices contenus dans la matrice ACTIVE, subissent la transformation. Cette règle s'applique jusqu'à ce que les objets soient dessinés, c'est-à-dire jusqu'à ce que le buffer soit vidé par glutSwapBuffers(); ou que les matrices soient bloquées par glLoadIdentity();.

 
Retour
contact: ultrafil [AT] fr.st